import re
# \d+ \.? \d*
# 判断用户输入的内容是否是数字，如果是数字转换为数字类型
# num = input('请输入一段数字：')
# if re.fullmatch(r'\d+\.?\d*',num):
#     print('是个数字')
#     print(float(num))
# else:
#     print('不是个数字')

# 以非数字开头，后面有 字母数字_-组成的长度4-14位的字符串
print(re.search(r'^\D[a-z0-9A-Z_\-]{3,13}', 'jasda'))   # <re.Match object; span=(0, 5), match='jasda'>

# 用户名
print(re.search(r'^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[05-9]))\d{8}$', '14702520444'))
# <re.Match object; span=(0, 11), match='14702520444'>

# 身份证
print(re.search(r'^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$', '330983199805096786'))
# <re.Match object; span=(0, 18), match='330983199805096786'>